Abrir un archivo .dbf pero no volcarlo a una hoja de cálculo

09/01/2004 - 18:16 por Sergio L. | Informe spam
A ver si me explico. Tengo un archivo .dbf que supera las líneas admitidas
por excel y quisiera abrirlo vía VBA y procesar sus celdas y de acuerdo a su
resultado volcarlas o no a una planilla y así hacerla mas chica. Quisiera
hacerlo por excel y evitar access u otra aplicación. Sólo via excel sería
mejor pero si no hay mas remedio ...
Desde ya muchas gracias por su tiempo.

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
09/01/2004 - 19:25 | Informe spam
Tienes varias opciones.
Tal vez la más sencilla (4 líneas de código) sea usar MS Query. Por ejemplo, el siguiente código vuelca en Hoja1, a partir de la celda A1, los registros de la tabla C:\prueba.dbf cuyo CAMPO1=a

Sub ImportarDBF_Filtrada()
With Worksheets("Hoja1").QueryTables.Add(Connection:="ODBC;DSN=dBASE Files;DefaultDir=C:\;DriverIdS3;MaxBufferSize 48;PageTimeout=5;", Destination:=Range("A1"))
.CommandText = "SELECT * FROM prueba prueba WHERE (prueba.CAMPO1='a')"
.Refresh
End With
End Sub


Ten en cuenta que la ruta donde está la tabla dBase hay que especificarla después de DefalutDirUn saludo.


Fernando Arroyo
MS MVP - Excel

"Sergio L." escribió en el mensaje news:
A ver si me explico. Tengo un archivo .dbf que supera las líneas admitidas
por excel y quisiera abrirlo vía VBA y procesar sus celdas y de acuerdo a su
resultado volcarlas o no a una planilla y así hacerla mas chica. Quisiera
hacerlo por excel y evitar access u otra aplicación. Sólo via excel sería
mejor pero si no hay mas remedio ...
Desde ya muchas gracias por su tiempo.



Respuesta Responder a este mensaje
#2 Sergio L.
09/01/2004 - 20:15 | Informe spam
Gracias Fernando, era eso justamente lo que precisaba. Ahora, hay alguna
forma de generar futuros códigos yo mediante algún tipo de asistente ya que
la sintaxis es muy compleja. Digo, como cuando grabas una macro por ejemplo.



"Fernando Arroyo" escribió en el mensaje
news:
Tienes varias opciones.
Tal vez la más sencilla (4 líneas de código) sea usar MS Query. Por ejemplo,
el siguiente código vuelca en Hoja1, a partir de la celda A1, los registros
de la tabla C:\prueba.dbf cuyo CAMPO1=a

Sub ImportarDBF_Filtrada()
With Worksheets("Hoja1").QueryTables.Add(Connection:="ODBC;DSN=dBASE
Files;DefaultDir=C:\;DriverIdS3;MaxBufferSize 48;PageTimeout=5;",
Destination:=Range("A1"))
.CommandText = "SELECT * FROM prueba prueba WHERE
(prueba.CAMPO1='a')"
.Refresh
End With
End Sub


Ten en cuenta que la ruta donde está la tabla dBase hay que especificarla
después de DefalutDirUn saludo.


Fernando Arroyo
MS MVP - Excel

"Sergio L." escribió en el mensaje
news:
A ver si me explico. Tengo un archivo .dbf que supera las líneas admitidas
por excel y quisiera abrirlo vía VBA y procesar sus celdas y de acuerdo a


su
resultado volcarlas o no a una planilla y así hacerla mas chica. Quisiera
hacerlo por excel y evitar access u otra aplicación. Sólo via excel sería
mejor pero si no hay mas remedio ...
Desde ya muchas gracias por su tiempo.



Respuesta Responder a este mensaje
#3 Fernando Arroyo
09/01/2004 - 21:07 | Informe spam
"Sergio L." escribió en el mensaje news:
Gracias Fernando, era eso justamente lo que precisaba. Ahora, hay alguna
forma de generar futuros códigos yo mediante algún tipo de asistente ya que
la sintaxis es muy compleja. Digo, como cuando grabas una macro por ejemplo.





He hecho una prueba poniendo en marcha el grabador de macros y creando la consulta (desde Datos->Obtener datos externos->Nueva consulta de base de datos), y el código que genera el grabador es correcto, con la pega de que mete bastantes "líneas-basura", como es habitual en él.
Un saludo.


Fernando Arroyo
MS MVP - Excel
Respuesta Responder a este mensaje
#4 Sergio L.
12/01/2004 - 14:24 | Informe spam
Perfecto, nuevamente gracias Fernando !


"Fernando Arroyo" escribió en el mensaje
news:
"Sergio L." escribió en el mensaje
news:
Gracias Fernando, era eso justamente lo que precisaba. Ahora, hay alguna
forma de generar futuros códigos yo mediante algún tipo de asistente ya


que
la sintaxis es muy compleja. Digo, como cuando grabas una macro por


ejemplo.





He hecho una prueba poniendo en marcha el grabador de macros y creando la
consulta (desde Datos->Obtener datos externos->Nueva consulta de base de
datos), y el código que genera el grabador es correcto, con la pega de que
mete bastantes "líneas-basura", como es habitual en él.
Un saludo.


Fernando Arroyo
MS MVP - Excel
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida